Skip to main content

Geschwindigkeits-Override für Softmotion-Achsen

Das hier beschriebene Beispielprojekt BasicMotion_Override.project finden Sie im Installationsverzeichnis von CODESYS unter ..\CODESYS SoftMotion\Examples.

Dieses Beispiel zeigt, wie Sie einen Geschwindigkeits-Override für eine Softmotion-Achse definieren.

Für weitere Informationen zum Thema Override siehe: Dynamikanpassung mit MC_SetOverride

Struktur der Applikation

Die Applikation besteht aus einem Programm PLC_PRG und einem Trace.

PLC_PRG

Das Programm besteht aus einer einfachen Zustandsmaschine. Im ersten Zustand STATE_POWER wird die virtuelle Achse Drive initialisiert. Im zweiten Zustand STATE_COMMAND_MOVEMENT wird ein Geschwindigkeits-Override von 0.5 gesetzt, damit die Bewegungen der Achse nur mit halber Geschwindigkeit ausgeführt werden. Anschließend wird eine Bewegung mittels MC_MoveAbsolute zu Position 10 ausgeführt. Am Baustein ist eine maximale Geschwindigkeit von 20 Einheiten/s angegeben.

Durch den eingestellten Geschwindigkeits-Override in der virtuellen Achse wird die Bewegung mit einer maximalen Geschwindigkeit von 10 Einheiten/s ausgeführt.

Sobald an Position 5 die Hälfte der Bewegung abgeschlossen ist, wird im Zustand  STATE_CHANGE_OVERRIDE der Geschwindigkeits-Override auf 0.25 reduziert. Die Achse verzögert auf 5 Einheiten/s und führt den Rest der Bewegung mit dieser Geschwindigkeit aus.

Im Programm werden zusätzlich noch die aktiven Override-Faktoren (Geschwindigkeit, Beschleunigung und Ruck) der virtuellen Achse ausgelesen. Dafür wird der Baustein SMC_GetOverride verwendet.

Trace

Mithilfe des Trace kann die Bewegung der virtuellen Achse nachvollzogen werden. Dabei werden die aktuell vorgegebene Position, die Geschwindigkeit und die Beschleunigung der Achse sowie der aktive Geschwindigkeits-Override aufgezeichnet.

Inbetriebnahme

  1. Übersetzen Sie die Applikation und laden Sie sie auf eine Steuerung.

  2. Starten Sie den Trace und die Applikation.

Im Trace können Sie die Bewegung der virtuellen Achse nachvollziehen.